package es.tikitaka.domain.equipo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToOne;

import org.hibernate.validator.Max;
import org.hibernate.validator.Min;

import es.tikitaka.domain.Estadisticas;

@Entity
public class EstEquipo extends Estadisticas {

	private PartEquipo equipo;
	private int puntos;
	private int golesF;
	private int golesC;
	private int golesFBP;
	private int golesCBP;
	private int penaltysF;
	private int penaltysC;
	private int penaltysM;
	private int faltasR;
	private int faltasC;

	/**
	 * Constructor por defecto
	 */
	public EstEquipo() {
		// TODO Auto-generated constructor stub
	}

	/*
	 * getters and setters
	 */

	/**
	 * 
	 * @return equipo
	 */
	@OneToOne(fetch = FetchType.LAZY, mappedBy = "estadisticas")
	public PartEquipo getEquipo() {
		return equipo;
	}

	/**
	 * 
	 * @param equipo
	 */
	public void setEquipo(PartEquipo equipo) {
		this.equipo = equipo;
	}

	/**
	 * 
	 * @return puntos Número total de puntos
	 */
	@Column(name = "PUNTOS")
	public int getPuntos() {
		return puntos;
	}

	/**
	 * 
	 * @param puntos
	 */
	public void setPuntos(int puntos) {
		this.puntos = puntos;
	}

	/**
	 * 
	 * @return golesF Número de goles a favor marcados por el equipo
	 */
	@Column(name = "GF")
	public int getGolesF() {
		return golesF;
	}

	/**
	 * 
	 * @param golesF
	 */
	public void setGolesF(int golesF) {
		this.golesF = golesF;
	}

	/**
	 * 
	 * @return golesC Número de goles en contra recibidos por el equipo
	 */
	@Column(name = "GC")
	public int getGolesC() {
		return golesC;
	}

	/**
	 * 
	 * @param golesC
	 */
	public void setGolesC(int golesC) {
		this.golesC = golesC;
	}

	/**
	 * 
	 * @return golesFBP Número de goles a favor a balón parado
	 */
	@Column(name = "GFBP")
	public int getGolesFBP() {
		return golesFBP;
	}

	/**
	 * 
	 * @param golesFBP
	 */
	public void setGolesFBP(int golesFBP) {
		this.golesFBP = golesFBP;
	}

	/**
	 * 
	 * @return golesCBP Número de goles en contra a balón parado
	 */
	@Column(name = "GCBP")
	public int getGolesCBP() {
		return golesCBP;
	}

	/**
	 * 
	 * @param golesCBP
	 */
	public void setGolesCBP(int golesCBP) {
		this.golesCBP = golesCBP;
	}

	/**
	 * 
	 * @return penaltiesF Número de panalties a favor que le han señalado al
	 *         equipo
	 */
	@Column(name = "PF")
	public int getPenaltysF() {
		return penaltysF;
	}

	/**
	 * 
	 * @param penaltiesF
	 */
	public void setPenaltysF(int penaltysF) {
		this.penaltysF = penaltysF;
	}

	/**
	 * 
	 * @return penaltiesC Número de penalties que le han señalado al equipo en
	 *         su contra
	 */
	@Column(name = "PC")
	public int getPenaltysC() {
		return penaltysC;
	}

	/**
	 * 
	 * @param penaltiesC
	 */
	public void setPenaltysC(int penaltysC) {
		this.penaltysC = penaltysC;
	}

	/**
	 * 
	 * @return penaltysM Número de penaltys marcados
	 */
	@Column(name = "PM")
	public int getPenaltysM() {
		return penaltysM;
	}

	/**
	 * 
	 * @param penaltysM
	 */
	public void setPenaltysM(int penaltysM) {
		this.penaltysM = penaltysM;
	}

	/**
	 * 
	 * @return faltasR Número de faltas recibidas por el equipo
	 */
	@Column(name = "FR")
	public int getFaltasR() {
		return faltasR;
	}

	/**
	 * 
	 * @param faltasR
	 */
	public void setFaltasR(int faltasR) {
		this.faltasR = faltasR;
	}

	/**
	 * 
	 * @return faltasH Número de faltas realizadas por el equipo
	 */
	@Column(name = "FC")
	public int getFaltasC() {
		return faltasC;
	}

	/**
	 * 
	 * @param faltasH
	 */
	public void setFaltasC(int faltasC) {
		this.faltasC = faltasC;
	}
}
